/**
 * reset
 */
body {
  margin: 0;
}

/**
 * library
 */
.hidden {
  display: none;
}

.disable-user-select {
  user-select: none;
}

.center-block {
  display: block;
  text-align: center;
}

/**
 * component
 */
.btn-circle {
  vertical-align: middle;
  display: inline-block;
  height: 30px;
  width: 30px;
  border-radius: 50%;
  outline: none;
  background: none;
}

.btn-circle:active {
  border: 1px solid #000;
}

.btn-icon {
  overflow: hidden;
  text-indent: -9999em;
  background-repeat: no-repeat;
  background-position: center;
}

.btn-icon-refresh {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M9 12l-4.463 4.969-4.537-4.969h3c0-4.97 4.03-9 9-9 2.395 0 4.565.942 6.179 2.468l-2.004 2.231c-1.081-1.05-2.553-1.699-4.175-1.699-3.309 0-6 2.691-6 6h3zm10.463-4.969l-4.463 4.969h3c0 3.309-2.691 6-6 6-1.623 0-3.094-.65-4.175-1.699l-2.004 2.231c1.613 1.526 3.784 2.468 6.179 2.468 4.97 0 9-4.03 9-9h3l-4.537-4.969z"/></svg>');
  background-size: 62% 62%;
}

.btn-icon-x {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M24 20.188l-8.315-8.209 8.2-8.282-3.697-3.697-8.212 8.318-8.31-8.203-3.666 3.666 8.321 8.24-8.206 8.313 3.666 3.666 8.237-8.318 8.285 8.203z"/></svg>');
  background-size: 38% 38%;
}

.panel {

}

.panel > .panel-header {
  background: #f0f0f0;
  margin: 0;
  padding: .4em;
}

.panel > .panel-header > h3 {
  margin: 0;
}

.panel > .panel-header .invisible-default {
  visibility: hidden;
}

.panel > .panel-header:hover .invisible-default,
.panel > .panel-header:active .invisible-default {
  visibility: visible;
}

.panel > .panel-body {
  padding: .4em;
}